Philipp Stephani [Thu, 5 Nov 2020 20:11:14 +0000 (21:11 +0100)]
* src/minibuf.c (move_minibuffer_onto_frame): Fix comparison
Alan Mackenzie [Thu, 5 Nov 2020 19:27:43 +0000 (19:27 +0000)]
Allow minibuffer to stay in its original frame. Tidy up this area.
* doc/emacs/mini.texi (Basic Minibuffer): Add an entry for
minibuffer-follows-selected-frame.
* doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to
minibufferp, LIVE.
* etc/NEWS: Add an entry describing the new minibuffer strategy.
* lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for
minibuffer-follows-selected-frame.
* lisp/minibuffer.el (minibuffer-message): Check for the current buffer being
an _active_ minibuffer rather than merely a minibuffer.
* src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame.
* src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and
is_minibuffer.
* src/minibuf.c (minibuf_follows_frame): New function which ignores local and
let-bound values of minibuffer-follows-selected-frame.
(choose_minibuf_frame): Reformulate this function to reuse a minibuffer window
where possible, and to ensure no other frame has its minibuffer current, but
only when `minibuffer-follows-selected-frame'.
(move_minibuffer_onto_frame): New function.
(live_minibuffer_p): New function.
(Fminibufferp): Add a new &optional parameter LIVE. Reformulate, possibly
calling live_minibuffer_p.
(read_minibuf): move the incrementation of minibuf_level to before the call of
choose_minibuf_frame. Empty the miniwindows of frames without an active
minibuffer, rather than of all but the current frame.
(is_minibuffer): New function.
(read_minibuf_unwind): Note the miniwindow being restored and resize all other
miniwindows to zero size.
(minibuffer-follows-selected-frame): New configuration variable.
* src/window.c (candidate_window_p): In some scenarios, check the miniwindow
holds an active minibuffer.
* src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active
miniwindows, regardless of minibuf_level.
Basil L. Contovounesios [Tue, 3 Nov 2020 22:54:34 +0000 (22:54 +0000)]
Improve eww support for externally viewed PDFs
The *eww pdf* buffer is only needed when viewing PDFs within Emacs,
e.g., with doc-view-mode. External PDF viewers are called with a
temporary file, so the buffer is not needed in that case. What's
more, mailcap-view-mime erased the buffer and left it in
fundamental-mode until now, so the user was left staring at a
useless, empty buffer. To make things even worse, external viewers
were invoked synchronously until now, so the user could not browse
the PDF file and use Emacs simultaneously.
* lisp/net/mailcap.el (mailcap--async-shell): New function.
(mailcap-view-mime): Use it to invoke external viewers
asynchronously. Mention erasure of current buffer in that case in
docstring. Add a period between the temporary file name and its
extension.
* lisp/net/eww.el (eww-display-pdf): Simplify using
insert-buffer-substring. Fix coding-system-for-write for a stream
of raw bytes. Pop to *eww pdf* buffer only if it is used for
displaying a document; otherwise kill it. (bug#44338)
Stefan Kangas [Thu, 5 Nov 2020 17:23:56 +0000 (18:23 +0100)]
; Silence byte-compiler warnings in tests
* test/lisp/emacs-lisp/easy-mmode-tests.el (easy-mmode--minor-mode):
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Silence byte-compiler.
Michael Albinus [Thu, 5 Nov 2020 16:36:04 +0000 (17:36 +0100)]
Still fixes for Tramp directory-files-*
* lisp/net/tramp.el (tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes): Fix COUNT.
* lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files):
Implement COUNT.
* lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
* lisp/net/tramp-integration.el (tramp-eshell-directory-change):
Use `nbutlast'.
* lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory)
(tramp-rclone-handle-delete-file): Reorder cache flushing.
(tramp-rclone-handle-directory-files):
Use `tramp-compat-directory-files'.
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Fix NOSORT and COUNT.
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT.
* test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun.
(tramp-test05-expand-file-name-relative): Use it.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Strengthen test.
(tramp-test20-file-modes): Simplify check.
Lars Ingebrigtsen [Tue, 3 Nov 2020 14:50:44 +0000 (15:50 +0100)]
Let pdf-view-mode take precedence over doc-view-mode
* lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let
pdf-view-mode take precedence, since it's an optional package
(bug#44338).
Stefan Kangas [Thu, 5 Nov 2020 14:42:26 +0000 (15:42 +0100)]
; Silence byte-compiler warning in xdisp-tests.el
* test/src/xdisp-tests.el (xdisp-tests--minibuffer-scroll): Silence
byte-compiler.
Basil L. Contovounesios [Thu, 29 Oct 2020 22:48:12 +0000 (22:48 +0000)]
Sync biblatex entries and fields with v3.15
* lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix
abbreviation of PhD.
(bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync
standard entry and field types with those described in the biblatex
v3.15 manual of 2020-08-19 (bug#44322).
Stephen Berman [Wed, 4 Nov 2020 22:52:21 +0000 (23:52 +0100)]
Improve display of tabulated list header line labels (bug#44068)
* lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
Ensure sort indicator appears after the label of any selected
sortable column that is wide enough and enable label truncation
when narrowing a column.
* lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column
alignment.
(timer-list--function-predicate): Correct typo in doc string.
Stefan Monnier [Wed, 4 Nov 2020 18:44:51 +0000 (13:44 -0500)]
* src/term.c (handle_one_term_event): Simplify.
Remove the `hold_quit` argument which was never used.
Streamline the control flow.
Thanks to Jared Finder <jared@finder.org> for pointing it out.
* src/keyboard.c (tty_read_avail_input): Simplify accordingly.
Eric Abrahamsen [Wed, 4 Nov 2020 06:31:42 +0000 (22:31 -0800)]
Avoid use of eieio-oset-default
* lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot
definition. `symbol-value' is necessary, otherwise the defclass macro
will treat the option as a quoted symbol.
Stefan Monnier [Wed, 4 Nov 2020 16:37:00 +0000 (11:37 -0500)]
* lisp-mode.el: Fix missing highlight of "hidden" string arg
* lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
(lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it
already has another face.
Manuel Uberti [Wed, 4 Nov 2020 14:41:53 +0000 (15:41 +0100)]
* lisp/progmodes/project.el (project--files-in-directory): Fix formatting
Copyright-paperwork-exempt: yes
Stefan Kangas [Wed, 4 Nov 2020 14:50:52 +0000 (15:50 +0100)]
Use lexical-binding in mule-charsets.el
* admin/charsets/mule-charsets.el: Use lexical-binding.
(mule-charsets-header): Rename from 'header' to silence byte-compiler.
Reuben Thomas [Wed, 4 Nov 2020 08:50:25 +0000 (08:50 +0000)]
Remove unused variable in ispell.el (thanks, Stefan Kangas)
* lisp/textmodes/ispell.el (ispell-check-version): Remove unused
variable `speller'.
Stefan Kangas [Wed, 4 Nov 2020 06:40:16 +0000 (07:40 +0100)]
Fix warnings in url-irc.el
* lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name):
Declare to fix warnings.
(url-irc-rcirc): Silence warning by adding missing password argument
to rcirc-connect.
Stefan Kangas [Wed, 4 Nov 2020 06:12:21 +0000 (07:12 +0100)]
* lisp/obsolete/nnir.el: Add "Obsolete-since" header.
Stefan Kangas [Tue, 3 Nov 2020 07:15:39 +0000 (08:15 +0100)]
* lisp/cedet/srecode.el: Use lexical-binding.
Stefan Monnier [Wed, 4 Nov 2020 05:24:45 +0000 (00:24 -0500)]
Fix misuses of `make-local-variable` on hooks
* lisp/vc/smerge-mode.el (smerge-ediff):
* lisp/progmodes/python.el (python-pdbtrack-setup-tracking):
* lisp/net/tramp-smb.el (tramp-smb-call-winexe):
* lisp/net/secrets.el (secrets-mode):
* lisp/mail/rmail.el (rmail-variables):
* lisp/ielm.el (inferior-emacs-lisp-mode):
* lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`.
* lisp/eshell/em-unix.el (eshell/diff):
* lisp/eshell/em-hist.el (eshell-hist-initialize): Don't
`make-local-variable` on hooks.
Eric Abrahamsen [Sun, 1 Nov 2020 01:30:57 +0000 (18:30 -0700)]
Remove gmane search engine
Remove the gnus-search-gmane class and all associated methods. If
search functionality is ever resurrected, then revert this commit.
* lisp/gnus/gnus-search.el: Delete code, and remove from default value
of `gnus-search-default-engines'.
Eric Abrahamsen [Fri, 16 Oct 2020 16:34:06 +0000 (09:34 -0700)]
Move nnir.el to lisp/obsolete
* lisp/obsolete/nnir.el: This is no longer used, but users might still
be requiring it.
Eric Abrahamsen [Thu, 15 Oct 2020 04:39:46 +0000 (21:39 -0700)]
New gnus-search library
This library provides a fundamental reworking of the search
functionality previously found in nnir.el. It uses class-based search
engines to interface with external searching facilities, and a parsed
search query syntax that can search multiple engines.
* lisp/gnus/gnus-search.el: New library containing search
functionality for Gnus.
* doc/misc/gnus.texi: Document.
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Remove references to nnir,
change meaning of prefix argument, change values of nnselect-function
and nnselect-args.
* lisp/gnus/nnselect.el: Replace references to nnir
(nnselect-request-article): Use gnus-search functions, and search
criteria.
(nnselect-request-thread, nnselect-search-thread): Use gnus-search
thread search.
(gnus-summary-make-search-group): Switch to use gnus-search function
and arguments.
* test/lisp/gnus/search-tests.el: Tests for new functionality.
Stefan Monnier [Wed, 4 Nov 2020 04:02:13 +0000 (23:02 -0500)]
* lisp/progmodes/tcl.el: Use lexical-binding
Remove redundant `:group` args.
Eli Zaretskii [Tue, 3 Nov 2020 19:48:23 +0000 (21:48 +0200)]
Fix last change
* lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc
string.
Juri Linkov [Tue, 3 Nov 2020 19:06:11 +0000 (21:06 +0200)]
Horizontal mouse wheel scrolling amount (bug#43568)
* lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom.
(mwheel-scroll): Use it.
* doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal
scrolling step.
Michael Albinus [Tue, 3 Nov 2020 17:47:32 +0000 (18:47 +0100)]
Some Tramp fixes for directory-files-* and delete-*
* lisp/files.el (delete-directory): Simplify check for trash.
* lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH.
* lisp/net/tramp-compat.el (tramp-compat-directory-files)
(tramp-compat-directory-files-and-attributes)
(tramp-compat-directory-empty-p): New defaliases.
* lisp/net/tramp.el (tramp-handle-directory-files-and-attributes)
(tramp-skeleton-delete-directory):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them.
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
Implement COUNT.
* test/lisp/net/tramp-tests.el (tramp-test14-delete-directory):
Do not run trash test for ange-ftp.
(tramp-test16-directory-files)
(tramp-test19-directory-files-and-attributes): Check COUNT argument.
Reuben Thomas [Mon, 2 Nov 2020 21:45:40 +0000 (21:45 +0000)]
Factor out some common code in ispell.el
* lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add
macro.
(ispell-call-process, ispell-call-process-region): Use it.
Reuben Thomas [Mon, 2 Nov 2020 21:41:05 +0000 (21:41 +0000)]
Simplify ispell-check-version’s use of -vv flag
* lisp/textmodes/ispell.el (ispell-check-version): All supported spell
checker programs accept -vv, including aspell for many years, so use
it.
Harald Jörg [Tue, 3 Nov 2020 14:28:40 +0000 (15:28 +0100)]
cperl-mode: Fix indentation for Emacs 26
* lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix
which is only required for Emacs versions older than 27.
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393):
Add a test to verify correct indentation (bug#30393).
Mauro Aranda [Tue, 3 Nov 2020 13:02:51 +0000 (10:02 -0300)]
Fix customizing user options of type face
* lisp/cus-edit.el (face): Move the %f escape after the tag, because
otherwise customizing a face user option doesn't work:
custom-variable-value-create thinks that everything up until the first
":" is part of the tag, and the item widget doesn't know how to handle
the %f escape.
Stefan Kangas [Tue, 3 Nov 2020 03:37:44 +0000 (04:37 +0100)]
Use lexical-binding in some url-*.el files
* lisp/url/url-dired.el:
* lisp/url/url-ftp.el:
* lisp/url/url-irc.el: Use lexical-binding.
Stefan Kangas [Tue, 3 Nov 2020 03:16:03 +0000 (04:16 +0100)]
Use lexical-binding in solitaire.el
* lisp/play/solitaire.el: Use lexical-binding. Remove redundant
:group args.
Stefan Kangas [Tue, 3 Nov 2020 02:55:50 +0000 (03:55 +0100)]
Use lexical-binding in some of emulation/edt*.el
* lisp/emulation/edt-vt100.el:
* lisp/emulation/edt-pc.el:
* lisp/emulation/edt-lk201.el: Use lexical-binding.
Stefan Kangas [Tue, 3 Nov 2020 01:23:46 +0000 (02:23 +0100)]
Use lexical-binding in pcmpl-rpm.el
* lisp/pcmpl-rpm.el: Use lexical-binding. Remove redundant :group
args.
(pcmpl-rpm-packages): Quote function symbol as such.
Stefan Kangas [Tue, 3 Nov 2020 01:06:05 +0000 (02:06 +0100)]
Use lexical-binding in pcmpl-cvs.el
* lisp/pcmpl-cvs.el: Use lexical-binding.
(executable): Remove unnecessary require.
(pcmpl-cvs-binary): Remove redundant :group arg.
(pcmpl-cvs-tags): Quote function symbol as such.
Stefan Kangas [Tue, 3 Nov 2020 01:04:22 +0000 (02:04 +0100)]
; * lisp/pcomplete.el: Fix typo.
Stefan Kangas [Tue, 3 Nov 2020 00:35:01 +0000 (01:35 +0100)]
Fix exiting the finder-commentary buffer
* lisp/finder.el (finder-exit): Fix exiting the finder-commentary
buffer. (Bug#44384)
(finder-buffer): New defconst.
(finder-list-keywords): Use above new defconst.
Harald Jörg [Mon, 2 Nov 2020 22:44:58 +0000 (23:44 +0100)]
cperl-mode: Skip a test for older Emacsen (preparing for ELPA)
* test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127):
Skip this test for older Emacsen. The bug has been fixed
in Emacs, but outside of CPerl mode, and therefore will not
be available for older versions via ELPA.
Stefan Kangas [Mon, 2 Nov 2020 18:06:46 +0000 (19:06 +0100)]
Improve ert-resource-directory docstring
* lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve
docstring.
Reuben Thomas [Mon, 2 Nov 2020 22:10:56 +0000 (22:10 +0000)]
Fix previous patch to ispell.el
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod):
with-current-buffer and with-output-to-string need to be the other
way around.
Reuben Thomas [Mon, 2 Nov 2020 21:37:46 +0000 (21:37 +0000)]
Fix previous code change to `ispell--call-enchant-lsmod'
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Restore the
use of with-current-buffer, to avoid enchant-lsmod’s output being
dumped into the current buffer.
Eli Zaretskii [Mon, 2 Nov 2020 19:47:18 +0000 (21:47 +0200)]
Explain last change
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Explain
the workaround with discarding stderr. (Bug#44318)
Reuben Thomas [Mon, 2 Nov 2020 18:06:11 +0000 (18:06 +0000)]
Make ispell.el ignore warnings from enchant-lsmod (closes #44318)
* lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Don’t capture
stderr. Also remove unnecessary with-current-buffer wrapper.
Mattias Engdegård [Mon, 2 Nov 2020 17:54:14 +0000 (18:54 +0100)]
Add missing argument to directory_files_internal calls
* src/kqueue.c (kqueue_compare_dir_list, Fkqueue_add_watch):
Pass the new seventh argument.
Eli Zaretskii [Mon, 2 Nov 2020 17:55:48 +0000 (19:55 +0200)]
Fix a recent change in dired.c
* src/dired.c (directory_files_internal): Fix type of integer
variables to avoid overflow in 32-bit builds --with-wide-int.
Eli Zaretskii [Mon, 2 Nov 2020 17:49:32 +0000 (19:49 +0200)]
Improve documentation of a recent commit
* lisp/international/mule-cmds.el (transient-input-method): Doc
fix. Add :version tag.
(transient-input-method): Doc fix.
* etc/NEWS:
* doc/emacs/mule.texi (Select Input Method): Fix wording of the
last change.
Glenn Morris [Mon, 2 Nov 2020 17:27:41 +0000 (09:27 -0800)]
; Merge from origin/emacs-27
The following commit was skipped:
cd69a50648 (origin/emacs-27) Recover the contents of the schemas.xml ...
Glenn Morris [Mon, 2 Nov 2020 17:27:40 +0000 (09:27 -0800)]
Merge from origin/emacs-27
4e6104ea0b ; * src/xdisp.c (display_string): Fix a typo in a comment.
7162228815 Improve indexing of check-declare
d218b28ab5 ; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL.
Glenn Morris [Mon, 2 Nov 2020 17:27:40 +0000 (09:27 -0800)]
; Merge from origin/emacs-27
The following commits were skipped:
4de7daa1b9 (emacs-27) ; Auto-commit of loaddefs files.
0c01381423 * doc/lispref/commands.texi (Key Sequence Input): Fix inde...
487aae38d4 Updating docs with all special window prefix keys.
Glenn Morris [Mon, 2 Nov 2020 17:27:40 +0000 (09:27 -0800)]
Merge from origin/emacs-27
1fc9de4b81 Improve reproducibility of generated -pkg.el files
da6234e2df Make sure pixel sizes are zero when setting window size fo...
2d15296db1 Fix failure of 'emacs --daemon' on Cygwin
8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w...
85d1d8d768 Fix NEWS entry for fix of Bug#44080
2443b15a91 * src/buffer.c (syms_of_buffer) <fill-column>: Improve doc...
# Conflicts:
# etc/NEWS
Michael Albinus [Mon, 2 Nov 2020 16:56:06 +0000 (17:56 +0100)]
Fix some glitches in recent directory-files-* changes
* doc/lispref/files.texi (Contents of Directories):
Fix description of directory-files, directory-empty-p and
directory-files-and-attributes.
* etc/NEWS: Fix entry for directory-files-and-attributes. Fix typos.
* lisp/dired.el (directory-empty-p): Move function from here ...
* lisp/files.el (directory-empty-p): ... to here.
* lisp/net/ange-ftp.el (ange-ftp-directory-files): Call `nreverse' later.
* lisp/net/tramp.el (tramp-handle-directory-files):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes): Do not call
`nreverse'.
* src/dired.c (Fdirectory_files)
(Fdirectory_files_and_attributes): Fix docstrings.
* test/src/dired-tests.el: Removed. Tests moved to
test/lisp/dired-tests.el.
* test/lisp/dired-tests.el (dired-test-bug27899): Tag it :unstable.
(dired-test-directory-files)
(dired-test-directory-files-and-attributes): New tests.
Michael Albinus [Mon, 2 Nov 2020 16:53:00 +0000 (17:53 +0100)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into master
João Távora [Mon, 2 Nov 2020 16:24:59 +0000 (16:24 +0000)]
Fix Elisp's elisp--documentation-one-liner (bug#43609)
To be backward compatible, this function must return nil when there is
a symbol at point but no documentation for it. Before this fixed it
returned the string "<symbol-name>: nil".
* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
Check callback actually produced non-nil doc.
Lars Ingebrigtsen [Mon, 2 Nov 2020 15:53:57 +0000 (16:53 +0100)]
Fix mouse-1 on [Show] buttons in the *Help* buffer
* lisp/descr-text.el (describe-text-sexp): Add a `follow-link' so
that the [Show] buttons work correctly with mouse-1 (bug#44340).
Yasuhiro KIMURA [Sun, 1 Nov 2020 13:01:31 +0000 (14:01 +0100)]
Recover the contents of the schemas.xml file
* etc/schema/schemas.xml: Recover the file, which was apparently
(mostly) removed by mistake by commit
165f738382 (bug#42851).
Copyright-paperwork-exempt: yes
Arthur Miller [Mon, 2 Nov 2020 11:38:27 +0000 (12:38 +0100)]
Add directory-empty-p and new argument COUNT for directory-files-*
* doc/lispref/files.texi (Contents of Directories): Mention COUNT
argument of directory-files. Add directory-empty-p.
* etc/NEWS: Mention directory-empty-p and directory-files changes.
* lisp/dired.el (directory-empty-p): New defun.
* lisp/net/ange-ftp.el (ange-ftp-directory-files)
(ange-ftp-directory-files-and-attributes):
* lisp/net/tramp.el (tramp-handle-directory-files)
(tramp-handle-directory-files-and-attributes):
* lisp/net/tramp-adb.el
(tramp-adb-handle-directory-files-and-attributes):
* lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files):
* lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes):
* lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT
argument.
* src/dired.c (directory_files_internal): Implement new
RETURN_COUNT argument.
(Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT
argument.
* src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration.
* src/sysdep.c (list_system_processes): Add Qnil to
directory_files_internal call.
* test/src/dired-tests.el (directory-files-and-attributes-tests):
New file.
Lars Ingebrigtsen [Mon, 2 Nov 2020 09:17:08 +0000 (10:17 +0100)]
Partially revert previous define-minor-mode change
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
Only document the values we want to support, not the ones we
actually support.
(define-minor-mode): Partially revert to previous behaviour.
Stefan Kangas [Sun, 1 Nov 2020 21:49:12 +0000 (22:49 +0100)]
Fix mistake in Lisp conversion of describe-map-tree
* lisp/help.el (describe-map-tree): Fix mistake in conversion to Lisp
from the C function describe_map_tree; make the condition match the
now removed C code. (Bug#44360)
Juri Linkov [Sun, 1 Nov 2020 21:35:41 +0000 (23:35 +0200)]
Transient input methods bound to 'C-x \' (bug#44266)
* lisp/international/mule-cmds.el (ctl-x-map): Bind 'C-x \' to
'transient-input-method'.
(input-method-function): New defcustom.
(transient-input-method): New command.
* doc/emacs/mule.texi (Select Input Method): Document transient-input-method.
Juri Linkov [Sun, 1 Nov 2020 21:25:10 +0000 (23:25 +0200)]
* lisp/leim/quail/compose.el: New input method (bug#44267).
Juri Linkov [Sun, 1 Nov 2020 21:20:53 +0000 (23:20 +0200)]
Show nobreak-space face for more blank characters in describe-char.
* lisp/descr-text.el (describe-char): Handle more non-ASCII whitespace
characters added in
f018cffca0098ad1b82c51730a6d6cf146e3c488 (bug#44236)
Eli Zaretskii [Sun, 1 Nov 2020 19:49:35 +0000 (21:49 +0200)]
; * src/xdisp.c (display_string): Fix a typo in a comment.
Stefan Kangas [Sun, 1 Nov 2020 18:29:47 +0000 (19:29 +0100)]
Improve indexing of check-declare
* doc/lispref/functions.texi (Declaring Functions): Improve indexing.
Stefan Kangas [Sun, 1 Nov 2020 18:08:21 +0000 (19:08 +0100)]
; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL.
The old texinfo domain seems to no longer be controlled by the GNU
project, starting at least as early as 2012. See also:
https://web.archive.org/web/
20120410044746/http://www.texinfo.org/
Stefan Kangas [Sun, 1 Nov 2020 17:52:23 +0000 (18:52 +0100)]
Don't auto-insert "@c file ends here" in .texi files
* lisp/autoinsert.el (auto-insert-alist): Don't insert "@c file ends
here" at the end of new .texi files.
Stefan Kangas [Sun, 1 Nov 2020 15:31:12 +0000 (16:31 +0100)]
Don't bind standard-output in substitute-command-keys
This fixes a regression with regards to the old C version of
substitute-command-keys.
* lisp/help.el (substitute-command-keys): Don't bind standard-output.
See Bug#39149.
* test/lisp/help-tests.el
(help-tests--was-in-buffer): New variable.
(help-substitute-command-keys/menu-filter-in-correct-buffer): New
test.
Glenn Morris [Sun, 1 Nov 2020 17:39:44 +0000 (09:39 -0800)]
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Doc typo.
Mattias Engdegård [Sun, 1 Nov 2020 14:57:12 +0000 (15:57 +0100)]
Add missing side-effect-free and error-free properties
Any function that is pure is also side-effect-free and some are also
error-free. Right now these have to be declared separately.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add
bool-vector-count-consecutive, bool-vector-count-population,
bool-vector-subsetp, copysign, isnan, lax-plist-get, ldexp, memql,
regexp-opt and string-to-syntax.
(side-effect-and-error-free-fns): Add type-of.
* lisp/subr.el (kbd, string-replace): Declare side-effect-free.
Mattias Engdegård [Sun, 1 Nov 2020 14:01:31 +0000 (15:01 +0100)]
* lisp/emacs-lisp/byte-opt.el (pure-fns): Fix typos.
Stefan Kangas [Sun, 1 Nov 2020 14:27:17 +0000 (15:27 +0100)]
Insert describe-map-tree header into original buffer
* lisp/help.el (describe-map-tree): Insert header into the original
buffer, not in standard-output.
* test/src/keymap-tests.el
(describe-buffer-bindings/header-in-current-buffer)
(describe-buffer-bindings/returns-nil): New tests.
Ref: https://debbugs.gnu.org/39149#31
Basil L. Contovounesios [Sun, 1 Nov 2020 14:46:22 +0000 (14:46 +0000)]
; * doc/emacs/custom.texi (Keymaps): Fix typo.
Glenn Morris [Sun, 1 Nov 2020 14:28:38 +0000 (06:28 -0800)]
; Auto-commit of loaddefs files.
Glenn Morris [Sun, 1 Nov 2020 14:12:09 +0000 (06:12 -0800)]
; Auto-commit of loaddefs files.
Lars Ingebrigtsen [Sun, 1 Nov 2020 14:00:36 +0000 (15:00 +0100)]
Make minor mode ARG work as documented
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring):
Clarify when minor modes are switched on/off when called from lisp
(bug#44341).
(define-minor-mode): Make calls from Lisp switch the mode on/off
as documented.
Mauro Aranda [Sun, 1 Nov 2020 13:10:08 +0000 (10:10 -0300)]
Fix saving a face setting with Customize
* lisp/cus-edit.el (custom-face-save): Make sure we back up into the
:shown-value property what the user has edited so far, if we are going
to recreate the custom-face widget. (Bug#44331)
Yasuhiro KIMURA [Sun, 1 Nov 2020 13:01:31 +0000 (14:01 +0100)]
Recover the contents of the schemas.xml file
* etc/schema/schemas.xml: Recover the file, which was apparently
(mostly) removed by mistake by commit
165f738382 (bug#42851).
Copyright-paperwork-exempt: yes
Lars Ingebrigtsen [Sun, 1 Nov 2020 12:55:29 +0000 (13:55 +0100)]
Doc string clarification for cl-some
* lisp/emacs-lisp/cl-extra.el (cl-some): Clarify the return value
(bug#44330).
Lars Ingebrigtsen [Sun, 1 Nov 2020 12:14:41 +0000 (13:14 +0100)]
custom-theme-set-variables more resilient against removed libraries
* lisp/custom.el (custom-theme-set-variables): Don't bug out on
settings that require a library that has been removed (bug#38843).
Lars Ingebrigtsen [Sun, 1 Nov 2020 11:51:17 +0000 (12:51 +0100)]
Mention non-ASCII C-c LETTER bindings in the lispref manual
* doc/lispref/tips.texi (Key Binding Conventions): Mention
non-ASCII C-c LETTER (bug#15917).
Lars Ingebrigtsen [Sun, 1 Nov 2020 11:48:34 +0000 (12:48 +0100)]
Mention the C-c LETTER keybinding convention
* doc/emacs/custom.texi (Keymaps): Reintroduce the text about C-c
LETTER (bug#15917), and clarify.
Michael Albinus [Sun, 1 Nov 2020 11:42:29 +0000 (12:42 +0100)]
Trash remote files to local trash (Bug#44216)
* doc/misc/tramp.texi (Frequently Asked Questions): Add trashing.
* lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory)
(tramp-adb-handle-delete-file):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
(tramp-gvfs-handle-delete-file):
* lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory)
(tramp-sh-handle-delete-file):
* lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory)
(tramp-smb-handle-delete-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-directory)
(tramp-sudoedit-handle-delete-file): Implement local trash. (Bug#44216)
* lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory)
(tramp-crypt-handle-delete-file): Do not trash.
* lisp/net/tramp.el (tramp-skeleton-delete-directory): New defmacro.
* test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p)
(tramp-test14-delete-directory): Add trashing.
Michael Albinus [Sun, 1 Nov 2020 11:40:30 +0000 (12:40 +0100)]
* etc/NEWS: Add trashing of remote files. Fix typos.
Lars Ingebrigtsen [Sun, 1 Nov 2020 11:21:05 +0000 (12:21 +0100)]
Fix error message in feedmail
* lisp/mail/feedmail.el (feedmail-buffer-to-smtpmail): Remove
superfluous %s in insert string
Lars Ingebrigtsen [Sat, 31 Oct 2020 23:10:21 +0000 (00:10 +0100)]
Fix a segfault in the new svg code
* src/image.c (svg_load_image): Don't pass in a NULL for the
logical rect, because that will sometimes segfault.
Juri Linkov [Sat, 31 Oct 2020 20:11:02 +0000 (22:11 +0200)]
New variable integer-output-format to print integers as characters (bug#44155)
* doc/lispref/streams.texi (Output Variables): Add integer-output-format.
* src/print.c (print_object): In case of Lisp_Int, print integers
as characters when Vinteger_output_format is Qt, and in hex format
when Vinteger_output_format is 16.
(Vinteger_output_format): New variable.
* test/src/print-tests.el (print-integer-output-format): New test.
Mauro Aranda [Fri, 30 Oct 2020 14:13:34 +0000 (11:13 -0300)]
Give the scroll-bar face a non-trivial spec
* lisp/faces.el (scroll-bar): Give it a non-trivial spec, so when
resetting it to its face-
defface-spec, we effectively reset it.
(Bug#13476)
Juri Linkov [Sat, 31 Oct 2020 19:38:26 +0000 (21:38 +0200)]
Improve goto-line in regard to narrowed buffers (bug#44294)
* lisp/simple.el (goto-line): Rewrite to first find the position
of the line where to go, then later don't widen the buffer
when the found position is still inside narrowed part of buffer.
* lisp/isearch.el (isearch-message-prefix): Warn about narrowed buffer
in case of no more matches found.
Juri Linkov [Sat, 31 Oct 2020 19:33:33 +0000 (21:33 +0200)]
Reimplement commit
46b3db5579e57b9daf16667914205adc99d3f104 (bug#44294)
* lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from
commit
46b3db5579e57b9daf16667914205adc99d3f104.
(xref-location-marker): Use the same change as was made in elisp-mode.el in
commit
46b3db5579e57b9daf16667914205adc99d3f104 to widen before going
to the found position.
Stefan Kangas [Sat, 31 Oct 2020 19:26:54 +0000 (20:26 +0100)]
* test/README: Document TEST_BACKTRACE_LINE_LENGTH.
Amin Bandali [Sat, 31 Oct 2020 18:39:36 +0000 (14:39 -0400)]
; * etc/NEWS: Tweak the wording for the newly added entry
Amin Bandali [Sat, 31 Oct 2020 18:29:13 +0000 (14:29 -0400)]
; * etc/NEWS: Add entry for my last change
Amin Bandali [Sat, 31 Oct 2020 18:07:11 +0000 (14:07 -0400)]
Replace irc.freenode.net with chat.freenode.net
chat.freenode.net has been the preferred address for connecting to the
freenode IRC network for years now. Replace the occurrences of
irc.freenode.net with chat.freenode.net.
Mattias Engdegård [Sat, 31 Oct 2020 16:19:44 +0000 (17:19 +0100)]
Fix eshell glob modifiers
Modified globbing such as *.txt(W) for all world-writable files ending
in .txt apparently never worked correctly.
* lisp/eshell/em-pred.el (eshell-predicate-alist): Use correct
elisp syntax for octal constants.
(eshell-pred-file-mode): Return a boolean, not a number.
Andreas Schwab [Sat, 31 Oct 2020 15:30:04 +0000 (16:30 +0100)]
wdired: fix error handling of set-file-modes
* lisp/wdired.el (wdired-perms-to-number): Return decimal number.
(wdired-do-perm-changes): Handle error from set-file-modes.
(wdired-finish-edit): Remove `rename' from error message.
(Bug#44343)
Eli Zaretskii [Sat, 31 Oct 2020 14:05:03 +0000 (16:05 +0200)]
* etc/HELLO: Enlarge tab-width to account for "tofu".
Mattias Engdegård [Sat, 31 Oct 2020 13:16:25 +0000 (14:16 +0100)]
'assoc' is not side-effect-free; constprop its pure subset
Since a supplied test function can do anything, assoc is not
side-effect-free (bug#44018). However, with only two arguments it is
pure and should be optimised accordingly.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'.
(byte-optimize-assoc): Constant-propagate through 2-arg assoc calls.
* test/lisp/emacs-lisp/bytecomp-tests.el
(byte-opt-testsuite-arith-data): Add test cases.
Eli Zaretskii [Sat, 31 Oct 2020 13:20:18 +0000 (15:20 +0200)]
Improve support for displaying Javanese script
* lisp/international/fontset.el (setup-default-fontset)
(script-representative-chars): Add Javanese entries.
* etc/HELLO: Fix the Javanese text. See
https://omniglot.com/language/phrases/javanese.php for the
source.
Stefan Monnier [Sat, 31 Oct 2020 13:07:53 +0000 (09:07 -0400)]
* src/xdisp.c (syms_of_xdisp) <"scroll-minibuffer-conservatively">: New var
Fix bug#44070, which causes the minibuffer display to jump upon minor edit
(redisplay_window): Obey it.
* lisp/simple.el (end-of-buffer): Obey it.
* test/src/xdisp-tests.el (xdisp-tests--in-minibuffer): New macro,
extracted from `xdisp-tests--minibuffer-resizing`.
(xdisp-tests--minibuffer-resizing): Use it.
(xdisp-tests--minibuffer-scroll): New test.
Mattias Engdegård [Sat, 31 Oct 2020 10:35:06 +0000 (11:35 +0100)]
Trim and explain set of safe forms for 'unsafep' (bug#44018)
* lisp/emacs-lisp/unsafep.el:
Add comment explaining the policy for which forms can be considered
'safe' in the sense of unsafep. Remove ones that didn't make the cut:
play-sound-file (large attack surface)
catch, throw (alter program flow, inject data)
replace-regexp-in-string (execute arbitary code)
error, signal (deceptive messages)
* test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe):
Add test cases.
* etc/NEWS: Announce the change.
Mattias Engdegård [Sun, 25 Oct 2020 11:40:36 +0000 (12:40 +0100)]
Parse GDB/MI results directly instead of going via JSON (bug#44173)
Translating GDB/MI into JSON is an unnecessary and fragile detour
that made it hard to deal with octal escapes in strings correctly.
Parse GDB/MI directly instead.
* lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Adjust doc string.
(gdb-mi-decode, gud-gdbmi-marker-filter): Remove gdb-mi-decode.
(gdb-jsonify-buffer): Remove.
(gdb-mi--parse-tuple-or-list, gdb-mi--parse-c-string)
(gdb-mi--parse-value, gdb-mi--parse-result-or-value)
(gdb-mi--parse-results, gdb-mi--fix-key, gdb-mi--extend-fullname)
(gdb-mi--c-string-from-string): New functions.
(gdb-json-read-buffer, gdb-json-string, gdb-json-partial-output):
Rename to gdb-mi--read-buffer, gdb-mi--from-string and
gdb-mi--partial-output respectively. Remove useless FIX-LIST
argument. FIX-KEY is now a symbol, not a string. All callers updated.
(gdb-tooltip-print, gdbmi-bnf-log-stream-output, gdb-internals)
(gdb-console, gdb-done-or-error, gdb-get-source-file-list)
(gdb-get-prompt, gdb-get-source-file):
Use gdb-mi--c-string-from-string instead of 'read'.
* test/lisp/progmodes/gdb-mi-tests.el: New file.